1. Technical Field
The present disclosure relates generally to improvements in databases comprising structured and unstructured data. More specifically it describes methods of improving the associative information shown to the user and dynamically adjusted during user's navigation through the information in the data.
2. Background
Access to information in databases has recently been made much more convenient by what is called by some, Faceted Navigation and by others Guided Information Access or GIA. In simplified terms GIA allows users to choose terms (called selectors) to describe the data items of interest which are then made available as matching items. The selectors can be either descriptive of the contents of data items, or terms present in the content, or both.
One of the very useful features of GIA is that the selectors available to the user for choosing are always adjusted to make sure that the user always chooses only selectors which, combined with those previously chosen, guarantee at least one matching item. Another very useful feature of GIA is that the counts of items associated with each selector can be displayed and adjusted to be always current as the user narrows the description with additional selector choices.
In Faceted Navigation systems, selectors are directly associated with items and used to select (find) matching items. When items contain information about multiple entities of the same kind, such as multiple people, vehicles, places etc., descriptions of items using selectors, directly associated with items, may find items that do not contain the described entities. For example, in a database of incidents, where any incident may involve multiple people, if you choose a person's eye color as brown and a person's ethnicity as European, and both selectors are associated directly with items, you will find items with such a person (if they exist) but you will also find items in which there are two or more people, one of which has brown eyes and a different person who is European. This is the data ambiguity problem. This problem is solved in GIA by using entities. When a user chooses selectors, Technology for Information Engineering (TIE), the server technology enabling GIA, matches entities and then those matched entities match the items which include those entities. Sometimes multiple levels of entities may be needed. For example, when in a single item multiple people have multiple addresses, each address can be an entity which is directly associated with the person entity.
When, for example, an item is an incident involving multiple people and the selectors are terms describing the people, the shown counts associated with each selector can be either counts of people, or counts of items, or both. So for example, in the case when a total of 100 matching items contains a cumulative total of 26 people (the entities) the selector Brown Eyes may show a count of 13 entities (which means people) and 10 items (meaning incidents), meaning that there are 13 people with brown eyes and they are distributed amongst 10 incidents.
The counts of items can show the user how many items involve a particular entity description. So for example if the items are incidents of crimes each associated with a selector descriptive of the type of crime, each involving some number of people, it would be very useful to see how many crimes of each type occurred. Each crime type is described by a selector, and the item counts associated with each selector are then counts of the respective incidents or items involving that crime type.
The calculation of entities (such as people) associated with each selector is a relatively fast and simple task for a computer program to perform. However, the evaluation of the item counts is a more time consuming computer task and so requires additional effort in the design of the methods to achieve a suitably fast, efficient response. Such calculations have to be performed after each user choice of a selector. A fast response is very desirable because the user would be inconvenienced if after each choice of a selector the response is appreciably delayed. It is the objective of this present disclosure to describe suitably fast systems, methods, and non-transitory computer-readable storage media for counting items in this and any similar contexts.